Vue 'watch' Option

Vue 'ওয়াচ' বিকল্প সম্পর্কে জানুন

Vue 'watch' Option

🎯 Example

একটি <input type="range"> দিয়ে 20 এবং 70 এর মধ্যে মান নির্বাচন করা অসম্ভব করতে ঘড়ি বিকল্পের ভিতরে একটি প্রহরী ব্যবহার করা

export default {
  data() {
    return {
      rangeVal: 4
    };
  },
  watch: {
    rangeVal(val) {
      if( val>20 && val<70) {
        if(val<40){
          this.rangeVal = 20;
        }
        else {
          this.rangeVal = 70;
        }
      }
    }
  }
};

Definition and Usage

ঘড়ির বিকল্পটি এমন একটি বস্তু যাতে Vue ইনস্ট্যান্সে ঘোষিত সমস্ত প্রহরী থাকে।

একটি পর্যবেক্ষক একটি ফাংশন যে একটি ডেটা সম্পত্তি বা একটি গণনা সম্পত্তি হিসাবে একই নাম আছে. যখনই একই নামের কোনো সম্পত্তি পরিবর্তিত হয় তখন পর্যবেক্ষককে স্বয়ংক্রিয়ভাবে ডাকা হয়।

যখন একজন পর্যবেক্ষককে ডাকা হয়, তখন নতুন এবং পূর্ববর্তী মানগুলি পর্যবেক্ষক ফাংশনের আর্গুমেন্ট হিসাবে উপলব্ধ থাকে।

একজন প্রহরী একটি বিন্দু-বিচ্ছিন্ন পথও হতে পারে, যেমন tiger.weight, যাতে প্রহরীকে তখনই ডাকা হয় যখন বাঘের বস্তুর ওজন বৈশিষ্ট্য পরিবর্তন হয়।

⚠️দ্রষ্টব্য:

পর্যবেক্ষক ঘোষণা করার সময় তীর ফাংশনগুলি এড়ানো উচিত, কারণ এই কীওয়ার্ডটি ব্যবহার করে এই জাতীয় ফাংশনের মধ্যে থেকে Vue ইনস্ট্যান্স অ্যাক্সেস করা যায় না।

অবজেক্ট সিনট্যাক্স ব্যবহার করে পর্যবেক্ষক লেখার সময় (নীচে উদাহরণ দেখুন), এই বিকল্পগুলি উপলব্ধ:

বিকল্প ব্যাখ্যা
handler এখানে watcher ফাংশন লেখা হয়.
'method name' একজন পর্যবেক্ষককে স্ট্রিং হিসাবে পদ্ধতির নাম প্রদান করে একটি পদ্ধতিকে কল করার জন্য সেট করা যেতে পারে।
deep ডিফল্ট মান 'মিথ্যা'। যদি পর্যবেক্ষক গভীর হয়, তবে এটি পর্যবেক্ষকের সেট করা বৈশিষ্ট্যের পরিবর্তনের জন্যও কাজ করে।
immediate ডিফল্ট মান 'মিথ্যা'। প্রহরী তৈরি হওয়ার পরপরই প্রহরীকে ট্রিগার করে। যখন 'অবিলম্বে' 'সত্য' তে সেট করা হয় তখন ডিফল্ট মান 'অনির্ধারিত' হয় যখন প্রথমবার প্রহরীকে আহ্বান করা হয়।
flush ডিফল্ট মান হল 'প্রাক'। কম্পোনেন্ট রেন্ডার করার সময় কলব্যাক ফাংশনটি কখন কার্যকর করা উচিত তা নির্দিষ্ট করুন। সম্ভাব্য মানগুলি হল 'প্রাক', 'পোস্ট' এবং 'সিঙ্ক'। সাবধানতার সাথে এই ফ্লাশ বিকল্পটি ব্যবহার করুন।
onTrigger/onTrack debuckling জন্য ব্যবহৃত. শুধুমাত্র উন্নয়ন মোডে কাজ করে।

💡দ্রষ্টব্য:

$watch() পদ্ধতি ব্যবহার করেও প্রহরী তৈরি করা যেতে পারে।

More Examples

🎯 Example

অবজেক্ট সিনট্যাক্স সহ একটি প্রহরী ব্যবহার করা

<template>
  <h2>Example watch Option</h2>
  <p>The 'rangeVal' watcher is written with the object syntax, with immediate: true, so that rangeVal is moved to '70' when the page first loads:</p>
  <input type="range" v-model="rangeVal">
  <p>rangeVal: <span>{{ rangeVal }}</span></p>
</template>

<script>
export default {
  data() {
    return {
      rangeVal: 40
    };
  },
  watch: {
    rangeVal: {
      handler(val) {
        if (val > 20 && val < 70) {
          if (val < 40) {
            this.rangeVal = 20;
          }
          else {
            this.rangeVal = 70;
          }
        }
      },
      immediate: true
    }
  }
};
</script>

<style>
span {
  padding: 3px;
  font-weight: bold;
  font-family: 'Courier New', Courier, monospace;
  background-color: lightgreen;
}
</style>

Vue Exercises

Vue 'ওয়াচ' বিকল্প সম্পর্কে আপনার জ্ঞান পরীক্ষা করতে এই টিউটোরিয়ালটি চেষ্টা করুন।

Vue.js , , watch ?

deep: true
✓ ঠিক আছে! deep: true পরিবর্তনের জন্য পর্যবেক্ষক সমস্ত নেস্টেড বৈশিষ্ট্য পর্যবেক্ষণ করে। এটি অবজেক্ট সিনট্যাক্সে একটি বিকল্প হিসাবে সংজ্ঞায়িত করা হয়েছে, এবং কর্মক্ষমতা প্রভাবের কারণে যত্ন সহকারে ব্যবহার করা উচিত
immediate: true
✗ ভুল! অবিলম্বে: সত্য যখন উপাদান তৈরি করা হয় তখন প্রহরীকে সক্রিয় করে, কিন্তু নেস্টেড বৈশিষ্ট্যগুলি নিরীক্ষণ করে না। এটি প্রহরী অবিলম্বে চালানো উচিত কিনা তা নিয়ন্ত্রণ করে
flush: 'post'
✗ ভুল! ফ্লাশ বিকল্প নিয়ন্ত্রণ করে কখন কলব্যাক ফাংশনটি কার্যকর করা উচিত, কিন্তু নেস্টেড বৈশিষ্ট্যগুলি নিরীক্ষণ করে না। এটি 'প্রাক', 'পোস্ট' বা 'সিঙ্ক' হতে পারে
handler() function
✗ ভুল! হ্যান্ডলার() ফাংশনটি সংজ্ঞায়িত করে যেখানে ওয়াডার লজিক লেখা হয়েছে, কিন্তু নেস্টেড বৈশিষ্ট্যগুলি নিরীক্ষণ করে না। deep: নেস্টেড বৈশিষ্ট্য ট্র্যাক করতে true প্রয়োজন